package cn.iocoder.yudao.module.erp.controller.admin.bom.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - bom Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpBomRespVO {

    @Schema(description = "内码", requiredMode = Schema.RequiredMode.REQUIRED, example = "14510")
    @ExcelProperty("内码")
    private String fid;

    @ExcelProperty("创建者")
    private Long creatorid;

    @Schema(description = "创建者", example = "25764")
    @ExcelProperty("创建者")
    private String creator;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "最近修改人", example = "15712")
    @ExcelProperty("最近修改人")
    private Long updaterid;

    private String updater;

    @Schema(description = "最近修改时间")
    @ExcelProperty("最近修改时间")
    private LocalDateTime updateTime;

    @Schema(description = "控制单元", example = "28794")
    @ExcelProperty("控制单元")
    private String fcontrolunitid;

    @Schema(description = "编码")
    @ExcelProperty("编码")
    private String fnumber;

    @Schema(description = "业务日期")
    @ExcelProperty("业务日期")
    private LocalDateTime fbizdate;

    @Schema(description = "经手人", example = "3556")
    @ExcelProperty("经手人")
    private String fhandlerid;

    @Schema(description = "描述", example = "你说的对")
    @ExcelProperty("描述")
    private String fdescription;

    @Schema(description = "是否曾经生效", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否曾经生效")
    private Long fhaseffected;

    @Schema(description = "审核人", example = "13045")
    @ExcelProperty("审核人")
    private String fauditorid;

    @Schema(description = "原始单据id", example = "32715")
    @ExcelProperty("原始单据id")
    private String fsourcebillid;

    @Schema(description = "来源功能")
    @ExcelProperty("来源功能")
    private String fsourcefunction;

    @Schema(description = "审核时间")
    @ExcelProperty("审核时间")
    private LocalDateTime faudittime;

    @Schema(description = "单据状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("单据状态")
    private Long fbasestatus;

    @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1149")
    @ExcelProperty("业务类型")
    private String fbiztypeid;

    @Schema(description = "来源单据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "22676")
    @ExcelProperty("来源单据类型")
    private String fsourcebilltypeid;

    @Schema(description = "单据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "7490")
    @ExcelProperty("单据类型")
    private String fbilltypeid;

    @Schema(description = "业务年度", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("业务年度")
    private Long fyear;

    @Schema(description = "业务期间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("业务期间")
    private Long fperiod;

    @Schema(description = "修改人", requiredMode = Schema.RequiredMode.REQUIRED, example = "2264")
    @ExcelProperty("修改人")
    private Long fmodifierid;

    @Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("修改时间")
    private LocalDateTime fmodificationtime;

    @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "27157")
    @ExcelProperty("计量单位")
    private Long funitid;

    @Schema(description = "基本计量单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "7153")
    @ExcelProperty("基本计量单位")
    private String fbaseunitid;

    @Schema(description = "库存组织", requiredMode = Schema.RequiredMode.REQUIRED, example = "15901")
    @ExcelProperty("库存组织")
    private String fstorageorgunitid;

    @Schema(description = "bom名称", example = "张三")
    @ExcelProperty("bom名称")
    private String fname;

    @Schema(description = "bom类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("bom类型")
    private Integer fbomtype;

    @ExcelProperty("bom类型名称")
    private String fbomtypename;

    @Schema(description = "生产数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("生产数量")
    private BigDecimal fproductqty;

    @Schema(description = "生产基本数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("生产基本数量")
    private BigDecimal fproductbaseqty;

    @Schema(description = "bom用途", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("bom用途")
    private Integer fusagetype;

    @ExcelProperty("bom用途名称")
    private String fusagetypename;

    @Schema(description = "物料", requiredMode = Schema.RequiredMode.REQUIRED, example = "31761")
    @ExcelProperty("物料")
    private Long fmaterialid;

    @Schema(description = "物料编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "31761")
    @ExcelProperty("物料编码")
    private String fbarcode;

    @Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "31761")
    @ExcelProperty("物料名称")
    private String fmaterialname;

    @Schema(description = "父物料规格型号")
    @ExcelProperty("父物料规格型号")
    private String fmodel;

    @Schema(description = "父物料成品率", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("父物料成品率")
    private BigDecimal fyield;

    @Schema(description = "物料计划资料", requiredMode = Schema.RequiredMode.REQUIRED, example = "13802")
    @ExcelProperty("物料计划资料")
    private String fmaterialplanid;

    @Schema(description = "来源库存组织", requiredMode = Schema.RequiredMode.REQUIRED, example = "1506")
    @ExcelProperty("来源库存组织")
    private String fsourcesouid;

    @Schema(description = "分配人", requiredMode = Schema.RequiredMode.REQUIRED, example = "12108")
    @ExcelProperty("分配人")
    private String fassignerid;

    @Schema(description = "来源bomid", requiredMode = Schema.RequiredMode.REQUIRED, example = "290")
    @ExcelProperty("来源bomid")
    private String fsourcebomid;

    @Schema(description = "分配时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("分配时间")
    private LocalDateTime fassigntime;

    @Schema(description = "来源bom编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("来源bom编码")
    private String fsourcebomnumber;

    @Schema(description = "是否是分配来的", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否是分配来的")
    private Long fisassigned;

    @Schema(description = "配置选项", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("配置选项")
    private Long fcfgoption;

    @Schema(description = "bom组", requiredMode = Schema.RequiredMode.REQUIRED, example = "24031")
    @ExcelProperty("bom组")
    private Long fbomgroupid;

    @ExcelProperty("bom组名称")
    private String fbomgroupname;

    @Schema(description = "是否项目制造", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否项目制造")
    private Long fisprojectmanu;

    @Schema(description = "来源配置bom的id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27164")
    @ExcelProperty("来源配置bom的id")
    private String fsourcecfgbomid;

    @Schema(description = "来源配置bom的编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("来源配置bom的编码")
    private String fsourcecfgbomnumber;

    @Schema(description = "工程图号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("工程图号")
    private String fpicturenumber;

    private Long parentidBomGroup;
}